home *** CD-ROM | disk | FTP | other *** search
/ 100 Plus Great Games 2 / 100PLUSV2.BIN / games / Reversi.dxr / playing cards_58_stock cards.ls < prev    next >
Encoding:
Text File  |  2002-01-25  |  1.3 KB  |  46 lines

  1. property spriteNum
  2. global stock, currentsel, tableau
  3.  
  4. on beginSprite me
  5.   stock = new(script("card pile"))
  6.   stock.cards = shuffle()
  7. end
  8.  
  9. on shuffle me
  10.   unshuffled = []
  11.   shuffled = []
  12.   repeat with rank in ["ace", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "jack", "queen", "king"]
  13.     repeat with suit in ["hearts", "diamonds", "clubs", "spades"]
  14.       unshuffled.add([#rank: rank, #suit: suit])
  15.     end repeat
  16.   end repeat
  17.   repeat while unshuffled.count > 0
  18.     temp = unshuffled[random(unshuffled.count)]
  19.     shuffled.add(temp)
  20.     unshuffled.deleteOne(temp)
  21.   end repeat
  22.   return shuffled
  23. end
  24.  
  25. on mouseDown me
  26.   if sprite(spriteNum).member.name <> "empty" then
  27.     repeat with i = 11 to 31
  28.       if stock.cards.count = 0 then
  29.         exit repeat
  30.       end if
  31.       currentsel.deleteAll()
  32.       if (sprite(i).member.name <> "backofcard") and (sprite(i).member.name <> "empty") then
  33.         puppetSound(3, member("deal card", "100GPak Generic SFX"))
  34.         sprite(i).member = member(stock.cards[1].rank & "_" & stock.cards[1].suit, "playing cards")
  35.         stock.cards.deleteAt(1)
  36.         tableau[sprite(i).row].addCard(i)
  37.       end if
  38.       updateStage()
  39.     end repeat
  40.     if stock.cards.count = 0 then
  41.       sprite(spriteNum).member = member("empty", "playing cards")
  42.       checklose()
  43.     end if
  44.   end if
  45. end
  46.